Overview
What is Apache Camel?
Apache Camel is an open source integration platform.
Apache Camel is a mature low cost open source alternative to commercial messaging layer products
Apache Camel - Integrate lots of things together with custom complex business logic on top
Routing made simple!
Very Good and Lightweight Integration Solution for your Applications
Camel is awesome!
Apache Camel Review
EIP using Camel
best lightweight integration solution
Better on a Camel
Apache Camel: ways you're wasting developer time if you aren't using it
Apache camel review
Pricing
Entry-level set up fee?
- No setup fee
Offerings
- Free Trial
- Free/Freemium Version
- Premium Consulting/Integration Services
Would you like us to let the vendor know that you want pricing?
10 people also want pricing
Alternatives Pricing
What is Cin7?
Cin7, headqduartered in Auckland, aims to make complex retail and wholesale simple with all-in-one cloud inventory, POS, EDI and 3PL. Cin7 allows users to manage sales channels, inventory, point of sale and supply chain in one central, cloud-based software. Cin7 offers integrations using third…
Product Details
- About
- Tech Details
What is Apache Camel?
Apache Camel Technical Details
Operating Systems | Unspecified |
---|---|
Mobile Application | No |
Comparisons
Compare with
Reviews and Ratings
(34)Community Insights
- Business Problems Solved
- Pros
- Cons
- Recommendations
Apache Camel is widely used as an enterprise integration solution by organizations transitioning from a monolithic to a service-oriented architecture. Its lightweight nature, ease of use, and implementation of existing integration patterns make it a popular choice. Users praise Apache Camel for its groovy DSL, which simplifies the process of connecting microservices and enabling the publish-subscribe pattern by consuming from and producing to AWS SQS queues.
Quartz jobs heavily rely on Apache Camel for seamless integration, and Cox Communications utilizes this product in various departments to provide quick and scalable integration of diverse business systems. By reducing development effort and resources, Apache Camel fits well within Cox's existing infrastructure and is often used alongside customized versions of Camel components. In product development teams, Apache Camel is essential for core event processing, facilitating interactions over JMS between different modules while handling marshaling, unmarshaling, and sending/receiving POJOs.
With its plethora of plugins for various connectors and a user-friendly experience, Apache Camel serves as an alternative integration framework to heavier middleware solutions. It acts as a component of an Enterprise Service Bus, defining message routing and transformation rules for integrating on-premise applications and cloud services. Moreover, Apache Camel bridges systems with changing implementations and message formats, enabling seamless integration and workflow pipelines. Teams appreciate the time-saving and scalable nature of this product, making it a preferred choice in multiple organizations for EIP and event-based code projects. Lastly, Apache Camel proves to be vital as an integration layer between UI, backend services, and databases using its REST component and XML/Java DSL solutions.
The open-source nature of Apache Camel particularly shines when performing daily integration activities in non-production environments. It offers a reliable platform for deriving code from files based on defined logic and processes. Additionally, Apache Camel handles error handling with built-in features like error retry, waiting, and exponential backoff. This makes it the go-to choice for integrating multiple sources and sinks of data with different formats and protocols, allowing for the implementation of complex logic. Overall, Apache Camel is highly regarded for its ability to simplify integration activities and enable seamless connectivity across various systems and platforms.
Easy Learning Curve: Several users have found Apache Camel to have an easy learning curve, allowing them to quickly grasp the concepts and start using it efficiently.
Extensive Integration Support: Many reviewers have praised Apache Camel for its extensive support for integration with diverse software platforms. With over 150 components available, users can seamlessly integrate Camel with various frameworks and middleware products such as Spring, Apache Karaf, and Servicemix.
Robustness and Reliability: Numerous users have highlighted the robustness of Apache Camel in handling various information transfer protocols out-of-the-box. They appreciate that it is a reliable solution for their integration needs, making it suitable for creating microservices and handling complex business logic.
Lack of Detail in Documentation: Several users have found the documentation to be lacking in detail and feel that it could use improvement. They mention that sometimes it takes trial and error to figure out how to do something, indicating a need for more comprehensive instructions.
Steep Learning Curve: Users have mentioned that there is a relatively steep learning curve associated with using the software. Some users felt overwhelmed by the complexity and required a significant amount of time and effort to become proficient in its usage.
Dependence on Java Skills: A common concern expressed by users is the heavy dependence on Java skills for optimal use of the software. Many users feel that a great skill set in Java is required to effectively utilize all the features and capabilities offered by the software.
Users have praised Apache Camel as an excellent choice for beginners in integration software development. They have found it to be user-friendly and valuable when starting out in this field. Reviewers also recommend utilizing online videos for additional assistance with Apache Camel. Video tutorials offer helpful insights and explanations. Another common recommendation is to consider Apache Camel as a viable alternative to larger middleware options like IBM. Users appreciate its flexibility and simplicity compared to more complex and expensive alternatives. It is also advised to have a clear understanding of EIPS (Enterprise Integration Patterns) when using Apache Camel. Additionally, users suggest keeping routes small and limiting the number of threads on endpoints to prevent idle threads from consuming locks.
Reviews
(1-4 of 4)- open source and a great set of component feature set - always latest features available for integration
- works well with spring boot
- great community and support for any kind of workflow
- based on enterprise integration patterns which helps our developers achieve integration tasks with all kinds of API services
- didn't work well when our developers tried to transform heavy data sets
- Apache Camel's whole logic is based on java so team needs to have a great skill set in java
- if there are a handful of workflows then Apache Camel's full potential can't be realized
- handle multiple workflows
- data distribution
- modernizing legacy apps and APIs
- Process web-submitted forms and generating reports
- huge cost saving and quick turn around in terms of extracting data from files and integrating them to our processes
- ease the work with java objects
- modernizing our API services
- ease of using it with Apache's TomCat server
Camel is awesome!
- Open source, which is vitally important
- Great integration with Java frameworks such as Spring Boot, allowing it to be deployed however you need to deploy it
- Wonderful testing tools as part of the framework
- Documentation could use some work, sometimes it takes a bit of trial and error to figure out how to do something.
One situation that it doesn't fit very well (as far as I have experienced) is when your workflow requires significant data mapping. While possible when using Java tooling, some other visual data mapping tools in other integration frameworks are easier to work with.
- Easier development time and less infrastructure cost than similar proprietary middleware.
Mulesoft - Very similar to Camel, but expensive and buggy
EIP using Camel
- The Java DSP is one of the primary reasons we chose Camel over Spring Integration's XML-based route definitions. It provides compile-time checking of syntax with auto-complete in an IDE (Eclipse, etc).
- The component documentation on the website is phenomenal.
- Error handling mechanisms are robust and easy to use and set up. Default settings are great and intuitive.
- The ability to define distinct contexts within the same application and define context-wide, context-specific error handling is great as well.
- I find the "seda" endpoint to be less obvious that it is doing multi-threading than Spring Integration's executor mechanism.
- Integration with Spring Beans is pretty good, but I believe SI's is a bit better (for obvious reasons, both being Spring products).
- SI's use support is probably a bit better/faster and I believe the user base is larger so that there are most questions/answers for SI on StackOverflow
- Very fast time to market in that so many components are available to use immediately.
- Error handling mechanisms and patterns of practice are robust and easy to use which in turn has made our application more robust from the start, so fewer bugs.
- However, testing and debugging routes is more challenging than working is standard Java so that takes more time (less time than writing the components from scratch).
- Most people don't know Camel coming in and many junior developers find it overwhelming and are not enthusiastic to learn it. So finding people that want to develop/maintain it is a challenge.
- Spring Integration
- Configuration of information routing via XML in a Sprint Context.
- Robustness. Apache Camel is capable of handling many different information transfer protocols out-of-the-box.
- Extensibility. Apache Camel also allows for custom routing handlers where needed.
- Some of the documentation is a little sparse. In particular, its TCP-based routes use an underlying Netty server, and the interactions between Netty's decoder capabilities and Apache Camel's routing/handler capabilities can be a little muddy at times. In general it is clear which routes and endpoints are the more frequently used and which haven't been given as much attention.
- There was certainly a positive impact in terms of code maintainability and ease of implementing new messaging pipelines, however, it's a little difficult to quantify.